www.gusucode.com > 落叶冰点万能企业网站内容管理系统 V9.1 > 落叶冰点万能企业网站内容管理系统 V9.1\code\admin\adminModelComponentLabel\D_edit_custom_dyn_content_lable.asp

    <%


'**************************************************************
' 新动软网站管理系统
' 官方网站: http://www.aspcpu.com
' 系统作者: 阮丁远(网名:天下程序)
' Copyright 新动软网站管理系统 版权所有
'**************************************************************


%>






<htmL>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><LINK href="../css.css" type=text/css rel=stylesheet>
<%

dir_set="../../"
response.charset="gb2312"

%>


<!--#include file=../../inc/conn.asp-->
<!--#include file=../../inc/Functionb.asp-->

<!--#include file=../../inc/ajaxLIB.asp-->

<!--#include file=../inc/checkadmin2.asp-->

<!--#include file=../../inc/functionFiless.asp-->
<!--#include file=../../inc/ND_class_function.asp-->


<script src="../../inc/admin.js" type="text/javascript"></script>


<%
AJAXshowLoader()

%>

 <style type="text/css">
<!--
.STYLE1 {color: #FF0000}
.STYLE2 {
	color: #0033FF;
	font-size: 15px;
	font-weight: bold;
}
.STYLE3 {
	color: #FF0000;
	font-weight: bold;
}
-->
        </style>


<%




function find_other_param(z_name)

rst2=""
if trim(nd1_other_params)<>"" and instr(1,nd1_other_params,":",1)<>0  then
other_params=split(nd1_other_params,"|")
for i=0 to ubound(other_params)

sss11=split(other_params(i),":")
sss11a=sss11(0)
sss11b=sss11(1)
if cstr(sss11a)=cstr(z_name) then

rst2=sss11b

exit for
end if


next

end if
rst2=replace(rst2,"$$sx_fengex1$","|")


rst2=replace(rst2,"$$sx_maohao$",":")


find_other_param=rst2
end function 













ss4=request("fname")
ss4=left(ss4,len(ss4)-1) '去掉最后一个/号


strDBPath1= left(ss4,instrrev(ss4,"/"))







'==========================================================
ztypee=request("labeltype")

if ztypee<>"" then

fph=left(request("fname"),len(request("fname"))-1)

fph2=split(fph,"/")
muluzz=""
for ii2=0 to ubound(fph2)-1
muluzz=muluzz&fph2(ii2)&"/"
next


sss1=loadfile("../../Model/ComponentLabels/"&muluzz&"index_componentlabel.asp")
	
if instr(1,sss1,"$componentlabelname:",1)<>0 then
nd1_m_label_name=trim(mid(sss1,instr(1,sss1,"$componentlabelname:",1)+20,instr(1,sss1,"$end_componentlabelname",1)-(instr(1,sss1,"$componentlabelname:",1)+20)))
else
nd1_m_label_name=""
end if

if instr(1,sss1,"$componentlabelcixu:",1)<>0 then
nd1_m_label_cixu=trim(mid(sss1,instr(1,sss1,"$componentlabelcixu:",1)+20,instr(1,sss1,"$end_componentlabelcixu",1)-(instr(1,sss1,"$componentlabelcixu:",1)+20)))
else
nd1_m_label_cixu=""
end if
if instr(1,sss1,"$is_sys_componentlabel:",1)<>0 then
nd1_m_label_is_sys=trim(mid(sss1,instr(1,sss1,"$is_sys_componentlabel:",1)+23,instr(1,sss1,"$end_is_sys_componentlabel",1)-(instr(1,sss1,"$is_sys_componentlabel:",1)+23)))
else
nd1_m_label_is_sys=""
end if

if ztypee="addmode" then
hzzza="addmode"
filezza="addmode_label.asp"
end if
if ztypee="editmode" then
hzzza="editmode"
filezza="editmode_label.asp"
end if
if ztypee="showmode" then
hzzza="showmode"
filezza="showmode_label.asp"
end if
if ztypee="do_add_mode" then
hzzza="doaddmode"
filezza="do_add_mode_label.asp"
end if
if ztypee="do_edit_mode" then
hzzza="doeditmode"
filezza="do_edit_mode_label.asp"
end if

end if



if ztypee<>"" then

bname=nd1_m_label_name&"$"&hzzza&"$"

else

bname=nd1_l_name

end if


'========================================================




















sssssss1=""
for i=1 to len(ss4)

if mid(ss4,len(ss4)-i+1,1)="/" then

sssssss1=i
exit for
end if
next


if sssssss1<>"" then
sssssss1=right(ss4,sssssss1-1)
else
sssssss1=ss4
strDBPath1=""
end if




'strDBPath1=路径
'filename=文件名
filename=sssssss1



dddd=loadfile("../../Model/ComponentLabels/"&ss4)


call get_info_array_from_label_file_content(dddd)



'response.write "type:"&nd1_label_type&"<br>"
'response.write "name:"&nd1_l_name&"<br>"
'response.write "sql:"&nd1_label_sql&"<br>"
'response.write "params:"&nd1_label_params&"<br>"
'response.write "fenye:"&nd1_label_fenye_num&"<br>"
'response.write "beizhu:"&nd1_label_beizhu&"<br>"
'response.write "other_params:"&nd1_other_params&"<br>"
'response.write "is_sys:"&nd1_is_sys_label&"<br>"
'response.write  nd1_label_code



set filea=new Cls_FSO

fpath=strDBPath1
bname=nd1_l_name
sqlcont=nd1_label_sql



bname_err=0



if bname="" then
bname_err=1

end if


Dim regEx
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = "^[A-Za-z0-9_]+$" ' 设置模式。 
regEx.IgnoreCase = False ' 设置是否区分大小写。 
retVal = regEx.Test(bname) ' 执行搜索测试。 






if sqlcont="" then

%>



<script language=javascript>
alert("sql查询语句不能为空!");

history.go(-1);


</script>


<%


else


If retVal<>true and ztypee=""  Then 


bname_err=1



End If 


if bname_err=1 then

%>



<script language=javascript>
alert("标签名为空 或者 不是字母+数字及_号的组合");

history.go(-1);


</script>


<%





response.end 




else















params_str=nd1_label_params 




beizhuz=nd1_label_beizhu



par=split(params_str,"|")



yooo=0
for iiii=0 to ubound(par)
sss33=split(par(iiii),",")
sss3=sss33(0)

for iiiii=0 to ubound(par)

sss44=split(par(iiiii),",")
sss4=sss44(0)

if sss3=sss4 and cint(iiiii)<>cint(iiii) then
yooo=1
end if
next

next


if yooo=1 then
%>


<script language=javascript>

alert("发现参数列表中有同名参数,必须每个参数都不同名字!");

history.go(-1);
</script>


<%


response.end 
end if








On Error Resume Next
    Set rs = Conn.Execute(sqlcont)
	
	
	
	

    'If Err.Number <> 0  Then
	
     '为了不使where a=$xx_var_asp$i之类错误,所以下面这句加了 and 1=0 
    If Err.Number <> 0 and 1=0 Then
	
	
	
        Set rs = Nothing
        FoundErr = True
		
		ErrMsg = ErrMsg & "SQL查询失败,查询代码:" & LabelIntro2 & "错误原因:" & Err.Description
		%>
        
<script language=javascript>

alert("<%=ErrMsg%>");

history.go(-1);
</script>

        
        <%
        
        Err.Clear
       
	   
    Else





if yooo<>1 then

%>

        <style type="text/css">
<!--
.STYLE1 {color: #0033FF}
-->
        </style>
        <div  id="l_do" style="filter:blendTrans(duration=1);  width:734px; z-index:-1; border: 1px dashed #999999;left: 3px; top: 120px; height: 40px;">

<form action="D_chk_edit_custom_dyn_content_lable.asp" method="post" name=aaassb1 id="aaassb1">
<table width=730 id="parms" name="parms">




<script language="javascript">
var org_pos=1;

var now_pos=org_pos;



function add_p(aa,bb){


	var theTable = document.getElementById("parms");	
    var rowNumber = parseFloat(theTable.rows.length);

theTable.insertRow(rowNumber);


 theTable.rows[rowNumber].id="aaaaba"+now_pos;
 
 //alert(theTable.rows[rowNumber].id);
						 
       theTable.rows[rowNumber].insertCell(0);
	   theTable.rows[rowNumber].cells[0].innerHTML = "<td>标签参数名"+now_pos+":<input name=c"+now_pos+" type=text value='"+aa+"'>,标签参数"+now_pos+"说明:<input name=s"+now_pos+" type=text   value='"+bb+"'></td>&nbsp;<a href=# onclick=del_p('"+theTable.rows[rowNumber].id+"')>删除此参数</a>";
	   
	   
var aa = document.getElementById("params_len");	
aa.value=now_pos;


now_pos=now_pos+1;


}

function del_p(r){

if (confirm("确认删除?")==1){
	var theTable = document.getElementById("parms");	

	var r1 = document.getElementById(r);

    var llln=parseFloat(theTable.rows.length)-1
for(var ia=0;ia<=llln;ia++)

{
if (theTable.rows[ia].id==r){


theTable.deleteRow(ia);

break;

}





}


}


}

</script>











<tr align="left">

<td colspan="2">

<font style="font-size:17px; color:#ff0000">编辑 动态内容 标签
</font>


<br><br>
标签保存路径:/Model/ComponentLabels/<%=request("fpath")%><%=filename%></td>
</tr>




<tr align="left">

<td colspan="2">

<%


sssp=request("fpath")

if sssp<>"" then
sssspq=split(sssp,"/")

ooosss=""

sssr=ubound(sssspq)-1


dddds=sssspq(sssr)
end if

%>




<%
'=================================================
if ztypee<>"" then
%>

<strong>标签名:</strong><span class="STYLE2">{$$<%=nd1_m_label_name%>$<%=hzzza%>$}

</span>
<%else%>
{$$<input name="bnm" type="text" value="<%=bname%>">}(只能为字母,数字及_号的组合)

<%
end if
'=================================================
%>






<script language="javascript">
function del_fr(){

if (confirm("确认删除?")==1){

self.location="D_del_custom_asp_label.asp?fname=<%=ss4%>";


}

}


</script> 


<a href=# onClick="del_fr();"><font style="font-size:14px" color="#3300FF">
删除此标签</font></a>




</td>
</tr>

<tr align="left">

<td colspan="2">

标签说明:<textarea name="lbsm" cols=40 rows=3><%=nd1_label_beizhu%></textarea></td>
</tr>





</table>




<table>








<tr align="left">

<td colspan="2">
<br />
<a href=# onClick="add_p('','');"><font style="font-size:14px" color="#3300FF">点击本处添加更多参数</font></a>
<br /><br />

如标签参数名1 填 name1,标签参数1说明 填 "名字参数"




</td>
</tr>




<tr align="left"  bgcolor="#DEF3FE">

<td colspan="2">

<%

aaaws1=trim(find_other_param("rsname"))
if aaaws1<>"" then
sssazxa=" value='"&aaaws1&"' "
else
sssazxa=" value='rs_x' "
end if
%> 



本标签内使用的rs记录集的自定义对象名:<input name="rsname" type="text"  <%=sssazxa%>  id="rsname"> &nbsp; &nbsp;如果标签的标签正文代码内再嵌套另一标签(如循环嵌套),则多个标签的rs记录集的对象名可能冲突,此时要在这里改这个对象名,你在标签的正文代码中要用这个对象名来调用本标签使用的rs记录集



</td>
</tr>










<tr align="left">

<td width="600" colspan=3>

<font style="font-size:14px" color="#3300FF">在以下的 <strong>查询sql语句</strong>中 可以用 如 $xxvar$a来调用标签的参数列表里的a参数的值 <br />
        还可以用$xx_var_asp$i来调用页面里asp代码中的i变量的值, <br />
        而用$xx_request_asp$i可以读request(&quot;i&quot;)的值,注意单引号的使用 . 并可以自定义where子句
		
		<br>
,注意 如$xx_var_asp$i要用空格或'号或%号或,号或)号或]号来结束,<br>
如where aaa=$xx_var_asp$i and.... 是对的 <br>
而where aaa=$xx_var_asp$iand....是错的 <br>
		
		
		
		
		
		
		
		</font>

<br>



</td>

</tr>




<tr align="left">

<td width="86">

查询sql语句:</td>
<td width="632"><textarea name="sqlms" cols=80 rows=8 onChange="update_sql_list();"><%=sqlcont%></textarea></td>
</tr>


<tr align="left"><td colspan="2">
<font style="font-size:14px" color="#3300FF">
动态内容正文 支持与asp代码混合写,不支持标签嵌套,但是支持标签代码内再用标签<br />
在以下的 动态内容正文代码中 可以用 如 $xxvar$a来调用标签的参数列表里的a参数的值
<br />调用标签时还可以用$xx_var_asp$i来调用页面里asp代码中的i变量的值,
<br />
如{$$show_class(1,$xx_var_asp$i),使标签与asp代码交互
<br />
而用$xx_request_asp$i可以读request("i")的值
<hr>


系统使用的数据库连接对象名为newdsoft_conn_obj ,你可以调用这个连接对象<br />
</font>

</td>
</tr>

</table>




















 
<script   language="javascript">

var nMessage=document.getElementById("ksdaima");

  function  setf(who) {
  
  
  	nMessage = document.getElementById(who);	
  
  }




  function   AppTag(str1)   
  {   
    nMessage.value   +=   str1;   
  }   
    
  function   InsertTag(str1)   
  {   
    if   ((document.selection)&&(document.selection.type   ==   "Text"))   {   
    var   range   =   document.selection.createRange();   
    var   ch_text=range.text;   
    range.text   =     ch_text   +   str1;   
    }     
    else     
    {   
    nMessage.value=nMessage.value+str1;   
    nMessage.Message.focus();   
    }   
  }   
  </script>


<br />



<script language="javascript">


	
	
	


function update_sql_list(){

var p1=document.getElementById("sqlms").value.indexOf("select ",0)+7;
var p2=document.getElementById("sqlms").value.indexOf(" from ",0);
var sqlstr2=document.getElementById("sqlms").value.substring(p1,p2);


//alert(sqlstr2);





		

	
	 
  for(var ff1 =0;ff1<theTablea.rows.length;ff1=ff1+1)
  {
  	
	
 
   theTablea.deleteRow(parseInt(ff1));



  }
  
  
	 //删两次才干净-----不知道为什么
  for(ff1 =0;ff1<theTablea.rows.length;ff1=ff1+1)
  {
  	
	
	

 
    theTablea.deleteRow(parseInt(ff1));


  }
  

	 //删两次才干净-----不知道为什么
  for(ff1 =0;ff1<theTablea.rows.length;ff1=ff1+1)
  {
  	
	
 
    theTablea.deleteRow(parseInt(ff1));


  }

 
 
	 //theTable1.innerHTML="";
	 
	
	 
	
var bpos=0;
var www2="";
var num=0;
var cha=0;
	
	
	
for(var iitt=0;iitt<=sqlstr2.length-1;iitt++)

{

if(sqlstr2.substring(iitt,iitt+1)==","|iitt==sqlstr2.length-1){

if (iitt==sqlstr2.length-1)  {
                       cha=1; }
                             else
                              {cha=0;
                              }
www2=sqlstr2.substring(bpos,iitt+cha);

bpos=iitt+1;
num=num+1;
                                                        


 //-------------------------------------------------------
 if ((num%2)==1){
 
 cols=0;

    var rowNumber1 = parseInt(theTablea.rows.length);
	 
	
	

	theTablea.insertRow(rowNumber1);
	 theTablea.rows[rowNumber1].id="aaaaddddccc"+rowNumber1;
	 
	}



theTablea.rows[rowNumber1].insertCell(cols);
	   theTablea.rows[rowNumber1].cells[cols].innerHTML ="<td height=25 width=150 style='word-break:break-all;background-color:#eeeeee'><a href='javascript:' onclick=insertsql2('"+www2+"');>"+www2+"</a></td>";
	 
	 



 cols=cols+1;



 
  }//end if
 
 
 
 
 
 
 
 

}//end for





}


function insertsql(sss){
var rst2=showModalDialog("D_select_field_format.asp?fldname="+sss,"","dialogWidth:400px; dialogHeight:280px; help: no; scroll: no; status: no");

if(rst2!=undefined){

InsertTag(rst2);

}

}


function insertsql2(sss){
var rst2=showModalDialog("D_select_field_format.asp?fldname="+sss,"","dialogWidth:400px; dialogHeight:280px; help: no; scroll: no; status: no");







try{




    if   ((document.selection)&&(document.selection.type   ==   "Text"))   {   
    var   range   =   document.selection.createRange();   
    var   ch_text=range.text;   
    range.text   =     ch_text   +   rst2;   
    }     
    else     
    {   
    document.getElementById("Contentt").value=document.getElementById("Contentt").value+rst2;   
    document.getElementById("Contentt").focus();   
    } 




}
catch(e)
{

}









if(rst2!=undefined&&fckddd==1){


var oEditor = FCKeditorAPI.GetInstance("Content") ;


oEditor.InsertHtml(rst2);

}

}












</script>



<div  id="mode1" style="filter:blendTrans(duration=1);left:1px;top:1px; visibility:hidden;display:none;width:200px; z-index:2; border: 0px dashed #999999;">
<table bgcolor="#F2F2F2"  width=600>






<br />

<table width=700 border=1 cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td width="80">

<font color="#0033FF">
可以调用的数据库字段列表(点下面编辑器后,再点击右边某字段列表来插入他们到编辑器里):

</font>

</td>
<td width="500">


<table id="sqlplistaaaaa" width=600 border=1 cellpadding="0" cellspacing="0" bordercolor="#0000ff">



</table>
</td>

</tr>

</table>

<br />


<script language= JavaScript>
function aaaar(aaa){
  var arr=window.open(aaa, '', 'titlebar=no, toolbar=no, scrollbars=yes,top=20,left=10,Width=800, Height=600');
  if(arr!=null){

  }
  
  else
  {
  
  alert("弹出窗口被系统拦截掉了,无法继续操作,请修改你ie系统设置!");
  }
  
}




</script>



<!--input type=button onclick="aaaar('../D_select_a_label_before.asp')" value="点击本处选择并插入另一个标签到本标签代码里"-->



<br />


<br>
  <strong> <a href="../adminModel/D_view_sys_cang_labels.asp" target="_blank"><font color="#0000FF" style="font-size:15px; text-decoration:underline">点击本处查看系统特殊标签</font></a></strong>

<br><br>
<table bgcolor="#F2F2F2" align="center" width=600 bgcolor="#CfCfCf" border="1" cellpadding="0">
<tr valign="middle" align="center">
<td width=50% bgcolor="#c9c9c9" height="20">

<a href="javascript:void(0)" onClick="chgedit('2')">使用可视化html文本编辑器</a></td>

<td width=50% bgcolor="#c9c9c9">
<a href="javascript:void(0)" onClick="chgedit('1')">使用纯文本编辑器</a>

</td>
</tr>
</table>
<br>






<input type="hidden" value="1" name="eemode" ID="eemode">


<script language="javascript">
function chgedit(a){

document.getElementById("eemode").value=a;

if (a=="1"){
document.getElementById("edt1").style.display="";
document.getElementById("edt2").style.display="none";
}

if (a=="2"){
document.getElementById("edt1").style.display="none";
document.getElementById("edt2").style.display="";
}

}
</script>



<table bgcolor="#F2F2F2" id="edt1">




<tr valign="middle" align="center"><td width=80>

循环体代码:</td>

<td width=600>


<textarea name="Contentt" cols=70 rows=20><%=trim(replace(replace_textare_for_editor(nd1_label_code&""),"%",chr(37)))%></textarea>



<br><a href="javascript:admin_Size(-10,'Contentt')"><img src="../images/minus.gif" unselectable="on" border='0'></a> <a href="javascript:admin_Size(10,'Contentt')"><img src="../images/plus.gif" unselectable="on" border='0'></a></td>
</tr>
</table>











<br />




<script language= JavaScript>
function aaaar(aaa){
  var arr=window.open(aaa, '', 'titlebar=no, toolbar=no, scrollbars=yes,top=20,left=10,Width=800, Height=600');
  if(arr!=null){

  }
  
  else
  {
  
  alert("弹出窗口被系统拦截掉了,无法继续操作,请修改你ie系统设置!");
  }
  
}




</script>



<!--input type=button onclick="aaaar('../D_select_a_label_before.asp')" value="点击本处选择并插入另一个标签到本标签代码里"-->


<br>




<table  width=680 id="edt2"  style="display:none">

<tr valign="middle" align="center"><td width=80>

循环体代码:(支持写入asp代码与标签):</td>

<td width=600>


<textarea name="Content" style="display:none"   onfocus="setf('Content')"><%=trim(replace(replace_textare_for_editor(nd1_label_code&""),"%",chr(37)))%></textarea>


<script src="../../ND_editor/FCKeditor2_5/FCKeditor.js"></script>
<script type="text/javascript">
<!--


var oFCKeditor = new FCKeditor('Content') ;
oFCKeditor.BasePath = '../../ND_editor/FCKeditor2_5/' ;
oFCKeditor.ToolbarSet = 'Default' ;
oFCKeditor.Width = '85%' ;
oFCKeditor.Height = '400' ;
oFCKeditor.Value = '' ;

oFCKeditor.ReplaceTextarea() ;
var fckddd=0;

function FCKeditor_OnComplete( editorInstance )
{
	//alert("3423");
fckddd=1;



}


//-->
</script></td>

</tr>
</table>











<%

end if
%>

</div>








<table>
<tr align="center" width=600>

<td>
<input type="hidden" name="fname" value="<%=request("fname")%>" id="fname" />

<input type="hidden" name="mode1" value="" id="mode1" />

<input type="hidden" name=fpath value="<%=request("fpath")%>" />

<input type="hidden" name="params_len" id="params_len" value="" />

<input type="hidden" name=p_page value="<%=request("p_page")%>" />

<input type="hidden" name=labeltype value="<%=request("labeltype")%>" />



<input type="submit" value="修  改" />

</td>
</tr>












</table>
</form>
</div>














<%

end if
end if
end if



%>


<script language=javascript>



var aa = document.getElementById("params_len");	

aa.value=0;
<%


if trim(params_str)="" then 
lll=-1
else
ssssppp=split(params_str,"|")
lll=ubound(ssssppp)

end if
%>

<% for i=0 to lll
ssssppp2=split(ssssppp(i),",")
sss1=ssssppp2(0)
sss2=ssssppp2(1)

sss1=replace(replace(sss1,chr(34),"”"),"'","‘")
sss2=replace(replace(sss2,chr(34),"”"),"'","‘")


%>



add_p("<%=sss1%>","<%=sss2%>");

<%next%>



</script>



<script language=javascript>


AJAXfade(1,'l_do');

AJAXfade(1,'mode1');

var theTablea = document.getElementById("sqlplistaaaaa");//必须放在最后

update_sql_list();//必须放在最后

</script>

<%
AJAXcloseLoader()
%>
</html>